package com.seed.bpmn.engine.dto;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.Map;

/**
 * 流程节点POJO类
 *
 * @author cscz89@126.com
 */
@Data
@NoArgsConstructor
public class NodeDTO{

    /**
     * 流程节点ID
     */
    public String id;

    /**
     * 流程节点名称
     */
    public String name;

    /**
     * 流程节点类型，取值范围：
     *  draft 拟稿环节；
     *  circulation 传阅环节；
     */
    public String type;

    /**
     * 处理人范围
     */
    public String groups;

    /**
     * 是否要填写处理意见，默认为空，取值范围如下：
     *  must 一单清展现意见输入框，且进行意见必填校验；
     *  need 一单清展现意见输入框，不进行必填校验；
     *  none、空 一单清不展现意见输入框。
     */
    public String advice;

    /**
     * 正文操作权限，map对象key取值范围：
     *  draft 拟稿；
     *  modify 无痕修改；
     *  trace 有痕修改；
     *  view 无痕浏览；
     *  browse 有痕浏览；
     *  seal 盖章；
     *  clear 清稿；
     *  check 定稿；
     *  pdf 转PDF。
     */
    public Map<String, Boolean> office = new HashMap<String,Boolean>();

    /**
     * 控制码，从流程图配置中controlCode获取
     * 例：controlCode:["code1","code2","code3"]，
     * Map中封装：
     *  map.put("code1",true);
     *  map.put("code2",true);
     *  map.put("code3",true);
     */
    public Map<String, Boolean> controlCode = new HashMap<String,Boolean>();

}
